﻿using System;
using System.Runtime.InteropServices;
using System.Text;

namespace Valve.VR
{
	// Token: 0x0200078D RID: 1933
	public class CVRApplications
	{
		// Token: 0x06002E28 RID: 11816 RVA: 0x000F1EB0 File Offset: 0x000F00B0
		internal CVRApplications(IntPtr pInterface)
		{
			this.FnTable = (IVRApplications)Marshal.PtrToStructure(pInterface, typeof(IVRApplications));
		}

		// Token: 0x06002E29 RID: 11817 RVA: 0x000F1ED4 File Offset: 0x000F00D4
		public EVRApplicationError AddApplicationManifest(string pchApplicationManifestFullPath, bool bTemporary)
		{
			return this.FnTable.AddApplicationManifest(pchApplicationManifestFullPath, bTemporary);
		}

		// Token: 0x06002E2A RID: 11818 RVA: 0x000F1EF8 File Offset: 0x000F00F8
		public EVRApplicationError RemoveApplicationManifest(string pchApplicationManifestFullPath)
		{
			return this.FnTable.RemoveApplicationManifest(pchApplicationManifestFullPath);
		}

		// Token: 0x06002E2B RID: 11819 RVA: 0x000F1F18 File Offset: 0x000F0118
		public bool IsApplicationInstalled(string pchAppKey)
		{
			return this.FnTable.IsApplicationInstalled(pchAppKey);
		}

		// Token: 0x06002E2C RID: 11820 RVA: 0x000F1F38 File Offset: 0x000F0138
		public uint GetApplicationCount()
		{
			return this.FnTable.GetApplicationCount();
		}

		// Token: 0x06002E2D RID: 11821 RVA: 0x000F1F58 File Offset: 0x000F0158
		public EVRApplicationError GetApplicationKeyByIndex(uint unApplicationIndex, StringBuilder pchAppKeyBuffer, uint unAppKeyBufferLen)
		{
			return this.FnTable.GetApplicationKeyByIndex(unApplicationIndex, pchAppKeyBuffer, unAppKeyBufferLen);
		}

		// Token: 0x06002E2E RID: 11822 RVA: 0x000F1F7C File Offset: 0x000F017C
		public EVRApplicationError GetApplicationKeyByProcessId(uint unProcessId, string pchAppKeyBuffer, uint unAppKeyBufferLen)
		{
			return this.FnTable.GetApplicationKeyByProcessId(unProcessId, pchAppKeyBuffer, unAppKeyBufferLen);
		}

		// Token: 0x06002E2F RID: 11823 RVA: 0x000F1FA0 File Offset: 0x000F01A0
		public EVRApplicationError LaunchApplication(string pchAppKey)
		{
			return this.FnTable.LaunchApplication(pchAppKey);
		}

		// Token: 0x06002E30 RID: 11824 RVA: 0x000F1FC0 File Offset: 0x000F01C0
		public EVRApplicationError LaunchTemplateApplication(string pchTemplateAppKey, string pchNewAppKey, AppOverrideKeys_t[] pKeys)
		{
			return this.FnTable.LaunchTemplateApplication(pchTemplateAppKey, pchNewAppKey, pKeys, (uint)pKeys.Length);
		}

		// Token: 0x06002E31 RID: 11825 RVA: 0x000F1FE8 File Offset: 0x000F01E8
		public EVRApplicationError LaunchApplicationFromMimeType(string pchMimeType, string pchArgs)
		{
			return this.FnTable.LaunchApplicationFromMimeType(pchMimeType, pchArgs);
		}

		// Token: 0x06002E32 RID: 11826 RVA: 0x000F200C File Offset: 0x000F020C
		public EVRApplicationError LaunchDashboardOverlay(string pchAppKey)
		{
			return this.FnTable.LaunchDashboardOverlay(pchAppKey);
		}

		// Token: 0x06002E33 RID: 11827 RVA: 0x000F202C File Offset: 0x000F022C
		public bool CancelApplicationLaunch(string pchAppKey)
		{
			return this.FnTable.CancelApplicationLaunch(pchAppKey);
		}

		// Token: 0x06002E34 RID: 11828 RVA: 0x000F204C File Offset: 0x000F024C
		public EVRApplicationError IdentifyApplication(uint unProcessId, string pchAppKey)
		{
			return this.FnTable.IdentifyApplication(unProcessId, pchAppKey);
		}

		// Token: 0x06002E35 RID: 11829 RVA: 0x000F2070 File Offset: 0x000F0270
		public uint GetApplicationProcessId(string pchAppKey)
		{
			return this.FnTable.GetApplicationProcessId(pchAppKey);
		}

		// Token: 0x06002E36 RID: 11830 RVA: 0x000F2090 File Offset: 0x000F0290
		public string GetApplicationsErrorNameFromEnum(EVRApplicationError error)
		{
			IntPtr ptr = this.FnTable.GetApplicationsErrorNameFromEnum(error);
			return Marshal.PtrToStringAnsi(ptr);
		}

		// Token: 0x06002E37 RID: 11831 RVA: 0x000F20B8 File Offset: 0x000F02B8
		public uint GetApplicationPropertyString(string pchAppKey, EVRApplicationProperty eProperty, StringBuilder pchPropertyValueBuffer, uint unPropertyValueBufferLen, ref EVRApplicationError peError)
		{
			return this.FnTable.GetApplicationPropertyString(pchAppKey, eProperty, pchPropertyValueBuffer, unPropertyValueBufferLen, ref peError);
		}

		// Token: 0x06002E38 RID: 11832 RVA: 0x000F20E0 File Offset: 0x000F02E0
		public bool GetApplicationPropertyBool(string pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError)
		{
			return this.FnTable.GetApplicationPropertyBool(pchAppKey, eProperty, ref peError);
		}

		// Token: 0x06002E39 RID: 11833 RVA: 0x000F2104 File Offset: 0x000F0304
		public ulong GetApplicationPropertyUint64(string pchAppKey, EVRApplicationProperty eProperty, ref EVRApplicationError peError)
		{
			return this.FnTable.GetApplicationPropertyUint64(pchAppKey, eProperty, ref peError);
		}

		// Token: 0x06002E3A RID: 11834 RVA: 0x000F2128 File Offset: 0x000F0328
		public EVRApplicationError SetApplicationAutoLaunch(string pchAppKey, bool bAutoLaunch)
		{
			return this.FnTable.SetApplicationAutoLaunch(pchAppKey, bAutoLaunch);
		}

		// Token: 0x06002E3B RID: 11835 RVA: 0x000F214C File Offset: 0x000F034C
		public bool GetApplicationAutoLaunch(string pchAppKey)
		{
			return this.FnTable.GetApplicationAutoLaunch(pchAppKey);
		}

		// Token: 0x06002E3C RID: 11836 RVA: 0x000F216C File Offset: 0x000F036C
		public EVRApplicationError SetDefaultApplicationForMimeType(string pchAppKey, string pchMimeType)
		{
			return this.FnTable.SetDefaultApplicationForMimeType(pchAppKey, pchMimeType);
		}

		// Token: 0x06002E3D RID: 11837 RVA: 0x000F2190 File Offset: 0x000F0390
		public bool GetDefaultApplicationForMimeType(string pchMimeType, string pchAppKeyBuffer, uint unAppKeyBufferLen)
		{
			return this.FnTable.GetDefaultApplicationForMimeType(pchMimeType, pchAppKeyBuffer, unAppKeyBufferLen);
		}

		// Token: 0x06002E3E RID: 11838 RVA: 0x000F21B4 File Offset: 0x000F03B4
		public bool GetApplicationSupportedMimeTypes(string pchAppKey, string pchMimeTypesBuffer, uint unMimeTypesBuffer)
		{
			return this.FnTable.GetApplicationSupportedMimeTypes(pchAppKey, pchMimeTypesBuffer, unMimeTypesBuffer);
		}

		// Token: 0x06002E3F RID: 11839 RVA: 0x000F21D8 File Offset: 0x000F03D8
		public uint GetApplicationsThatSupportMimeType(string pchMimeType, string pchAppKeysThatSupportBuffer, uint unAppKeysThatSupportBuffer)
		{
			return this.FnTable.GetApplicationsThatSupportMimeType(pchMimeType, pchAppKeysThatSupportBuffer, unAppKeysThatSupportBuffer);
		}

		// Token: 0x06002E40 RID: 11840 RVA: 0x000F21FC File Offset: 0x000F03FC
		public uint GetApplicationLaunchArguments(uint unHandle, string pchArgs, uint unArgs)
		{
			return this.FnTable.GetApplicationLaunchArguments(unHandle, pchArgs, unArgs);
		}

		// Token: 0x06002E41 RID: 11841 RVA: 0x000F2220 File Offset: 0x000F0420
		public EVRApplicationError GetStartingApplication(string pchAppKeyBuffer, uint unAppKeyBufferLen)
		{
			return this.FnTable.GetStartingApplication(pchAppKeyBuffer, unAppKeyBufferLen);
		}

		// Token: 0x06002E42 RID: 11842 RVA: 0x000F2244 File Offset: 0x000F0444
		public EVRApplicationTransitionState GetTransitionState()
		{
			return this.FnTable.GetTransitionState();
		}

		// Token: 0x06002E43 RID: 11843 RVA: 0x000F2264 File Offset: 0x000F0464
		public EVRApplicationError PerformApplicationPrelaunchCheck(string pchAppKey)
		{
			return this.FnTable.PerformApplicationPrelaunchCheck(pchAppKey);
		}

		// Token: 0x06002E44 RID: 11844 RVA: 0x000F2284 File Offset: 0x000F0484
		public string GetApplicationsTransitionStateNameFromEnum(EVRApplicationTransitionState state)
		{
			IntPtr ptr = this.FnTable.GetApplicationsTransitionStateNameFromEnum(state);
			return Marshal.PtrToStringAnsi(ptr);
		}

		// Token: 0x06002E45 RID: 11845 RVA: 0x000F22AC File Offset: 0x000F04AC
		public bool IsQuitUserPromptRequested()
		{
			return this.FnTable.IsQuitUserPromptRequested();
		}

		// Token: 0x06002E46 RID: 11846 RVA: 0x000F22CC File Offset: 0x000F04CC
		public EVRApplicationError LaunchInternalProcess(string pchBinaryPath, string pchArguments, string pchWorkingDirectory)
		{
			return this.FnTable.LaunchInternalProcess(pchBinaryPath, pchArguments, pchWorkingDirectory);
		}

		// Token: 0x06002E47 RID: 11847 RVA: 0x000F22F0 File Offset: 0x000F04F0
		public uint GetCurrentSceneProcessId()
		{
			return this.FnTable.GetCurrentSceneProcessId();
		}

		// Token: 0x04002ADD RID: 10973
		private IVRApplications FnTable;
	}
}
